package com.tencent.welink.api.space.statistics;

import com.tencent.welink.api.OpenApiTokenChange;
import com.tencent.welink.api.base.WelinkOpenApi;
import com.tencent.welink.config.BussinessConfig;
import com.tencent.welink.util.CrontabUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.util.Map;

/**
 * @Description: 获取设备或者应用模块对象状态数据
 * @Author: limye
 * @CreateDate: 2020-6-9
 * @Version: V1.0
 */
public class GetAggregateData extends WelinkOpenApi {

    private static final Logger log = LogManager.getLogger(GetAggregateData.class);

    public GetAggregateData(){
        super("/space/datahub/common/v1.0/statistics/getAggregateData",true);
    }


    @Override
    public void displayResult(String result) {
    }


    public static void main(String[] args) {
        new BussinessConfig();
        CrontabUtil.addTaskInRate(new OpenApiTokenChange(), BussinessConfig.loginDurationMinutes,true);

        //实例化对象
        GetAggregateData instance = new GetAggregateData();

        /**
         * 参数	参数描述	是否必填	示例	备注
         * token	鉴权口令	是		20分钟需更新一次
         * poiCode	业务物模型编号	是	poi_code=t0608068	t0608068
         * aggType	聚合类型	是	aggType=count	count，sum，average
         * geoLevel	通用聚合级别	是	classifyLevel=7	6：楼栋级别
         * 7：楼层级别
         * 99：自定义区域
         * interval	聚合时间维度	是	interval=5	以分钟为单位
         * geoTargetId	地理目标wid	否	geoTargetId=xxxxxxxxxx	若无则返回全部
         * geoTargetName	地理目标名称	否	geoTargetName=parkinglotA	若无则返回全部
         * businessType	业务分类	否	businessType=in	若无则返回全部业务类型
         * beginTime	起始时间	是	beginTime=1569491100	秒级时间戳
         * endTime	终止时间	是	endTime=1569493100	秒级时间戳
         */

        //添加参数
        Map<String,Object> map = instance.getExtendsPara();
        map.put("poiCode","t0608068");
        map.put("aggType","count");
        map.put("geoLevel",7);
        map.put("interval",5);
        map.put("beginTime",1569491100);
        map.put("endTime",1569493100);

        //执行HTTP请求及展示结果
        instance.DoHttp();
        CrontabUtil.shutdown();

    }
}
